#pragma once
#include "Actor.h"
#include "FoundationStruct.h"

namespace mini
{
	class CSkyPlane : public CActor
	{
		friend class CSkyDome;
	public:
		CSkyPlane();
		~CSkyPlane();
		virtual void updateFrame(float fDeltaTime) override;
	private:
		struct SkyPlaneType
		{
			float x, y, z;
			float tu, tv;
		};
		union 
		{
			struct
			{
				float m_textureTranslation[4];
				float m_brightness;
				float m_pAdding[3];
			};
			float mPSParam[8];
		};
	private:
		bool initialise(int planeSize, int texRepeat, float planeWidth, float planeTop, float planeBottom);

	private:
		float m_translationSpeed[4];
		SkyPlaneType* mSkyPlane = nullptr;
	};
}